export interface Menu {
    menuId: string;
    name: string;
    icon: string;
    url: string;
    sort: number;
    parentId: string;
    permission: string[];
    enable: boolean;
    createTime: number;
    level: number;
    children?: Menu[];
}

export interface MenuTree extends Menu {
    children?: MenuTree[];
}

export interface SimpleMenu {
    menu_id: string;
    name: string;
    icon: string;
    url: string;
    sort: number;
    children?: SimpleMenu[];
}

export interface MenuListResponse {
    records: MenuTree[];
    total: number;
    size: number;
    current: number;
    pages: number;
}

export interface ApiResponse<T = any> {
    success: boolean;
    message?: string;
    data?: T;
    error?: string;
} 